package com.atguigu.service.impl;

import com.atguigu.dao.ProjectModuleDao;
import com.atguigu.dao.impl.ProjectModuleDaoImpl;
import com.atguigu.pojo.ProjectModule;
import com.atguigu.pojo.ProjectModuleType;
import com.atguigu.service.ProjectModuleService;
import com.atguigu.service.ProjectModuleTypeService;

import java.util.List;

public class ProjectModuleServiceImpl implements ProjectModuleService {
    ProjectModuleDao projectModuleDao=new ProjectModuleDaoImpl();
    ProjectModuleTypeService projectModuleTypeService=new ProjectModuleTypeServiceImpl();
    @Override
    public void addProjectModule(ProjectModule projectModule) {
        projectModuleDao.addProjectModule(projectModule);
    }

    @Override
    public void updateProjectModule(ProjectModule projectModule) {
        projectModuleDao.updateProjectModule(projectModule);
    }

    @Override
    public void deleteProjectModuleById(String id) {
        projectModuleDao.deleteProjectModuleById(id);
    }

    @Override
    public ProjectModule queryProjectModuleByName(String name) {
        ProjectModule projectModule=projectModuleDao.queryProjectModuleByName(name);
        return projectModule;
    }

    @Override
    public ProjectModule queryProjectModuleById(String id) {
        ProjectModule projectModule=projectModuleDao.queryProjectModuleById(id);
        return projectModule;
    }

    @Override
    public List<ProjectModule> queryProjectModules() {
        List<ProjectModule> projectModules=projectModuleDao.queryProjectModules();
        return projectModules;
    }

    @Override
    public List<ProjectModule> queryProjectModulesByProjectId(String projectId) {
        List<ProjectModule> projectModules=projectModuleDao.queryProjectModulesByProjectId(projectId);
        return projectModules;
    }

    @Override
    public List<ProjectModule> queryProjectModulesByProjectModuleTypeId(String projectModuleTypeId) {
        List<ProjectModule> projectModules=projectModuleDao.queryProjectModulesByProjectModuleTypeId(projectModuleTypeId);
        return projectModules;
    }
    @Override
    public List<ProjectModule> queryProjectModulesByProjectModuleTypeName(String projectModuleTypeName){

        ProjectModuleType projectModuleType=projectModuleTypeService.queryProjectModuleTypeByName(projectModuleTypeName);
        List<ProjectModule> projectModules=projectModuleDao.queryProjectModulesByProjectModuleTypeId(projectModuleType.getId());
        return projectModules;
    }
    @Override
    public List<ProjectModule> queryProjectModulesByProjectIdAndProjectModuleTypeId(String projectId,String projectModuleTypeId) {
        List<ProjectModule> projectModules=projectModuleDao.queryProjectModulesByProjectIdAndProjectModuleTypeId(projectId,projectModuleTypeId);
        return projectModules;
    }
    @Override
    public List<ProjectModule> queryProjectModulesByProjectIdAndProjectModuleTypeName(String projectId,String projectModuleTypeName) {
        ProjectModuleType projectModuleType=projectModuleTypeService.queryProjectModuleTypeByName(projectModuleTypeName);
        List<ProjectModule> projectModules=projectModuleDao.queryProjectModulesByProjectIdAndProjectModuleTypeId(projectId,projectModuleType.getId());
        return projectModules;
    }
}
